Deferred Rendering
1. Deferred Rendering 이란?
디퍼드 렌더링에 관해 간단히 설명하자면, 셰이딩에 필요한 정보들(Normal, Specular, Metallic, Roughness, Albedo등)을 GBuffer에 먼저 그린 후, 이 GBuffer를 이용해 한번에 Scene의 라이팅을 계산하는 것이다. Forward Rendering과 달리, 객체당 하나당 한번씩, 조명을 하나씩 라이팅 계산하는 것이 아닌, GBuffer를 이용해 조명당 한번씩 라이팅을 계산해 주기 때문에 다른객체에 가려질 부분을 라이팅 계산하는 비효율 적인 부분이 줄어든다. 따라서 Forward에 비해 더 많은 라이팅 계산이 가능하다는 특징을 가지고 있다.


다만 단점으로, GBuffer를 3개 이상 사용하게 되기 때문에 메모리를 사용하는데 있어서 오버헤드가 발생할 수 있다. 최신 GPU를 사용하는 경우 크게 문제되는 일은 없지만, 모바일과 같이 리소스가 크게 제한된 환경에서는 제약이 생길 수 있다. 자세한 내용은 참고자료를 확인하자.
2. 관련 문제
Normal 벡터를 저장하는 GBuffer 포맷
Multi RenderTarget을 이용한 GBuffer 렌더링
Depth로 부터 WorldPosition 복원하기
3. 참고 자료
OpenGL Deferred Rendering
DirectX Deferred Rendering
# [유니티 TIPS] 알쓸유잡 | 렌더링 기법 이해하기. 모바일 디퍼드 렌더링 쌉가능 ?